package com.kh.pajx.sop.dao;

import java.util.List;

import com.kh.pajx.sop.base.IBaseDao;
import com.kh.pajx.sop.domain.SysMenuAuth;

/**
 * 系统菜单数据持久化操作接口
 * @author:	azzcsimp
 * @Createdate:	2014年7月20日 下午8:40:35
 */
public interface ISysMenuAuthDao extends IBaseDao<SysMenuAuth> {
	
	/**
	 * 根据系统字典编码获取该系统下所有菜单信息列表
	 * @param systemCode 系统字典编码
	 * @return   
	 * @author:	azzcsimp
	 * @Createdate:	2014年8月6日 下午2:52:45
	 */
	public List<SysMenuAuth> findAllMenuListBySys(String systemCode);
	
	/**
	 * 根据系统字典编码获取该系统下所有符合状态标识的菜单信息列表
	 * @param systemCode 系统字典编码
	 * @param flag 信息状态标识
	 * @return   
	 * @author:	azzcsimp
	 * @Createdate:	2014年8月7日 下午2:24:13
	 */
	List<SysMenuAuth> findAllMenuListBySys(String systemCode, int flag);

	/**
	 * 根据系统编码获取该系统下顶级菜单信息列表
	 * @param systemCode
	 * @return   
	 * @author:	azzcsimp
	 * @Createdate:	2014年8月6日 下午2:56:38
	 */
	public List<SysMenuAuth> findTopMenuListBySys(String systemCode);
	

	
	/**
	 * 查询顶级菜单
	 * @return   
	 * @author:	azzcsimp
	 * @Createdate:	2014年7月22日 下午5:27:27
	 */
	List<SysMenuAuth> findTopMenuAuthList();

	/**
	 * 查找二级菜单
	 * @param parentId 父级菜单编号
	 * @return   
	 * @author:	azzcsimp
	 * @Createdate:	2014年7月22日 下午5:26:33
	 */
	List<SysMenuAuth> findChilerenMenuAuthList(String parentId);
	
	/**
	 * 统计菜单数量
	 * @param pId 父级菜单id
	 * @return   
	 * @author:	azzcsimp
	 * @Createdate:	2014年7月22日 下午6:31:30
	 */
	long counMenuAuthByPId(String pId);
	
	/**
	 * 获取系统下顶级菜单
	 * @param systemCode 系统字典编码
	 * @return   
	 * @author:	azzcsimp
	 * @Createdate:	2014年7月22日 下午7:00:49
	
	List<SysMenuAuth> findTopMenuAuthListBySystemCode(String systemCode);
	 */

	/**
	 * 获取系统下所有菜单
	 * @param systemCode
	 * @return   
	 * @author:	azzcsimp
	 * @Createdate:	2014年7月23日 上午11:12:50
	
	List<SysMenuAuth> findMenuAuthListBySystemCode(String systemCode);
	 */
	
	/**
	 * 查询所有权限URL集合(不能有null,不能重复)
	 * @return   
	 * @author:	azzcsimp
	 * @Createdate:	2014年7月30日 下午4:20:07
	 */
	List<String> getAllMenuAuthUrls();

	List<String> getAllMenuAuthUrlsBySystemCode(String systemCode);

	List<SysMenuAuth> findSecondMenuAuthListBySystemCode(String systemCode);
}
